#include "RedBlackTree.h"

int main(int argc, char* argv[])
{
    RedBlackTree<int> A;
    A.insert(16);
    A.insert(8);
    A.insert(24);
    A.insert(4);
    A.insert(12);
    A.insert(20);
    A.insert(28);
    A.insert(2);
    A.insert(6);
    A.insert(10);
    A.insert(14);
    A.insert(18);
    A.insert(22);
    A.insert(26);
    A.insert(30);
    A.insert(1);
    A.insert(3);
    A.insert(5);
    A.insert(7);
    A.insert(9);
    A.insert(11);
    A.insert(13);
    A.insert(15);
    A.insert(17);
    A.insert(19);
    A.insert(21);
    A.insert(23);
    A.insert(25);
    A.insert(27);
    A.insert(29);
    A.insert(31);
   
    A.inorder_walk();
    A.del(16);
    A.inorder_walk();

    
    /* A.test_successor();
    A.test_predecessor();
    A.test_min();
    A.test_max();
    std::cout<< "search 0.9:" << std::endl;
    A.test_search(0.9);
    std::cout<< "search 6.6:" << std::endl;
    A.test_search(6.6);
    std::cout<< "search 7.8:" << std::endl;
    A.test_search(7.8);
    double B[6]={2.3,9.1,-3,7.7,3.5,2.3};
    std::cout << "before:" << std::endl;
    for (int i=0; i<6 ; i++)
      std::cout << B[i] << ",";
    std::cout << "\b\b" << std::endl;
    BST_sort<double>(B,6);
    std::cout << "after:" << std::endl;
    for (int i=0; i<6 ; i++)
      std::cout << B[i] << ",";
      std::cout << "\b\b" << std::endl;*/
    return 0;
}
